Methods and systems for telephony call completion

ABSTRACT

The present invention is directed to processing calls to busy and Do-Not-Disturb capable telecommunications lines. In one embodiment, the presence of a subscriber accessing a computer network over a first telephone line via a first computer terminal is detected, wherein the subscriber also has a first telephone station connected to the first line. When a caller calls the first line and the first line is busy, the call is forwarded to a second telephone line associated with a call manager system. The call manager system determines when the subscriber is no longer accessing the computer network. At least partly in response to determining that the subscriber is no longer accessing the computer network, the call manager system transmits a text message to the caller, the message including the subscriber&#39;s phone number. The caller can then call back the first line using the transmitted phone number.

PRIORITY CLAIM

The present application is a Continuation-In-Part of U.S. application Ser. No. 13/615,333, filed Sep. 13, 2012, which is a continuation of U.S. application Ser. No. 12/835,965, filed Jul. 14, 2010, which is a continuation of U.S. application Ser. No. 11/942,565, filed Nov. 19, 2007, now abandoned, which is a continuation of U.S. application Ser. No. 11/034,151, filed Jan. 12, 2005, now U.S. Pat. No. 7,308,081, which is a continuation of U.S. application Ser. No. 10/029,509, filed Nov. 1, 2001, now U.S. Pat. No. 6,879,677, the entirety of which is incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention is related to methods and systems for telecommunications, and in particular, to methods and systems for processing calls.

2. Description of the Related Art

Conventional corporate enterprise switching systems, such as PBX systems, offer features to make the calling process more convenient. One such feature, termed a callback or Camp-On feature, is used when a caller calls a telephone station that is busy. The callback process determines when the called telephone station is no longer busy and then calls the caller and the called party. In particular, if the called party's telephone line is busy when called, the caller can, via a keypad command, instruct the enterprise telephone system to automatically call the called party's telephone when the called party's telephone line is idle. The telephone system notifies the caller that the called party's telephone is idle by ringing the caller's telephone in a unique manner. If the caller then answers the telephone, the called party's telephone is automatically called and connected to the caller's telephone.

The callback feature relieves the caller from the aggravation and wasted time resulting from repeated attempts to place a call to a busy line, hoping that the line will free up. Unfortunately, the techniques used to accomplish the callback feature within an enterprise switching system, such as a PBX system, are not applicable to other telephone systems, such as cellular phone systems. Further, many conventional systems that do provide callback features outside of an enterprise system are very limited in where they can be located. For example, these conventional systems may need be located at a local exchange of the calling party or between the calling party and the local exchange, and typically also are burdened with having to intercept all the caller's calls at the point of origination. Further, these types of conventional systems require that the caller be a callback feature subscriber. Other conventional systems simply repeatedly retry the called number in order to determine when the called line is idle, which is an inefficient use of telephony resources. In addition, in order to perform a callback, many conventional systems are burdened with having to perform a call bridging operation. Hence, conventional telecommunications systems fail to offer the callback feature for many telephony applications.

As similarly described above, the techniques used to accomplish the callback feature within an enterprise switching system are generally applied to a busy condition and not to a “Do-Not-Disturb” condition. In addition, the concept of a Camp-On feature in association with the “Do-Not-Disturb” condition is generally not applicable to other telephone system, such as cellular phone systems or enhanced call processing services (e.g., Google Voice) that span one or more networks and/or network providers.

SUMMARY OF THE INVENTION

The present invention is related to methods and systems for providing a callback or camp-on notification to a caller in response to determining that a called busy line has transitioned to an idle state or a called Do-Not-Disturb line has transitioned to an available state.

For example, a user may utilize a telephone line to access a network via a dial-up connection. Upon performing the dial-up connection, the user's telephone line will transition from an idle state to a busy state and will not accept incoming calls. Instead, incoming calls are forwarded to a call processing system. By way of example, if a caller using a wireless, text message-enabled telephone calls the user's telephone line, the call will be forwarded to the call processing system. Based at least in part on receiving the forwarded call, the call processing system determines that the user's phone line is busy. The call processing system may allow the caller to leave a voice message and/or may inform the caller that the called line is busy.

The call processing system then determines when the user has ceased accessing the network. Upon determining that the user has ceased accessing the network, the call processing system infers that the user's telephone line is now idle and transmits a corresponding text message to the caller's wireless phone. The text message includes the user's telephone number. The caller can proceed to call the now-idle telephone line without having to renter the user's telephone number. Instead, the caller can press a “send” key, a “talk” key, or the like, on the caller's telephone and the telephone will automatically dial the user's phone number. The call will then be completed. Advantageously, the caller does not have to be a subscriber to the call processing system to use the callback notification process.

An example callback process in accordance with the present invention will now be described in greater detail. A call manager subscriber goes online by accessing the Internet or other computer network. The subscriber can access the network using a dial-up connection via a computer terminal equipped with a modem. This will result in the subscriber's telephone line being busy. A client program executing on the computer terminal logs onto a call manager system over the Internet. The client application provides an online presence indication (e.g., is the device connected to the Internet) to the call manager system, enabling the call manager to determine that the subscriber is still online. To better manage incoming calls while the subscriber's telephone line is busy, the subscriber's line is configured to have calls forwarded to the call manager system using a “Call Forward On Busy” function when the subscriber's line is busy. Optionally, the client application can monitor the mobile device of the user for activity including, for example, movement of the device (e.g., using accelerometers, GPS tracking, Wi-Fi tracking etc.), call activity, Internet access of one or more web sites, etc.

A calling party calls the subscriber's phone line using, by way of example, a wireless telephone. Because the subscriber's line is busy, the calling party's call is forwarded to the call manager system over a PSTN along with corresponding signaling information. The signaling information includes the calling party's phone number derived through SS7 signaling or by forwarding the call to a toll-free number. Because the calling party's call is being forwarded to the call manager system, the call manager system determines or infers that the subscriber's phone line is busy.

The call manager system answers the calling party's call and optionally informs the caller that the called line is busy and/or allows the calling party to record a voice message on the call manager system. In addition, the call manager system optionally asks the subscriber whether a camp-on request should be allowed or denied.

The call manager system determines when the subscriber has gone offline, that is, no longer accessing the Internet. The determination can be based on a log-off message from the called party's computer terminal client program, or on the failure of the client program to send an appropriate presence indication to the call manager system. If the subscriber has gone offline, a notification is sent to the calling party's calling station informing the calling party that the calling party's call can now be completed. The message includes the caller's phone number and other text and/or graphics, including instructions on how to complete the call.

If the notification is to be provided as an SMS (short message service) alphanumeric message, then based on the calling number and using an SMS database or other databases, such as a Local Exchange Routing Guide, the call manager system determines if the calling number is associated with a wireless phone, such as a cellular phone. If the calling number is associated with a wireless phone, the call manager determines the carrier associated with the caller's calling station. SMS is a wireless messaging service that enables the transmission of alphanumeric messages between mobile subscribers and external systems such as voice mail systems, electronic mail system and paging systems.

If the call manager has determined that the calling party's station is a wireless phone, the call manager infers that an email address associated with the caller is the caller's telephone number “@” the carrier name. For example, if the incoming call is from telephone number “310-555-5555” and is associated with a carrier “CarrierX, with the Internet domain “carrierx.com”, then it is inferred that the caller's email address associated with the caller's cellular phone is 3105555555@carrierx.com. The call manager system emails the notification, including the called party's phone number, to the inferred or queried email address via SMS or other messaging system.

After receiving the notification, if the calling party enters the appropriate command the cellular phone automatically calls the subscriber's number, and if the subscriber answers, the call is completed. The command may be entered via the cellular phone keypad key, such as the “talk” or “send,” or via a voice command if the phone is voice command enabled. In another embodiment, upon detecting that the called party's line is free, the call manager system automatically initiates a call bridging operation connecting the calling and called party.

Another embodiment of the present invention is an automated callback system, comprising: at least a first instruction configured to detect that a called party is accessing the Internet via a computer terminal using a first line; at least a second instruction configured to determine when the first line is busy, wherein the first line is busy because the computer terminal is using the first line; at least a third instruction configured to detect when the caller is using a wireless telephone to call the first line; at least a fourth instruction configured to determine when the first line is idle based at least in part on determining that the computer terminal has ceased accessing the Internet; and at least a fifth instruction configured transmit a short message service (SMS) callback notification via email to the wireless telephone at least partly in response to the at least fourth instruction determining that the first line is idle, the callback notification including the called party's phone number.

Still another embodiment of the present invention is a method of processing a telecommunications call, the method comprising: detecting a presence of a first subscriber communicating on a computer network via a first computer terminal, wherein the first computer terminal communicates over the computer network using a first telecommunications line associated with a first telephone number; receiving a first call from a first caller calling via a wireless station, wherein the first call was initially directed to the first telecommunications line and then forwarded to a second telecommunications line because the first telecommunications line is busy, wherein the first telecommunications line is busy because the first computer terminal is using the first telecommunications line; receiving signaling information associated with the first call, the signaling information including at least a second telephone number, the second telephone number associated with the wireless station; determining when the first subscriber has ceased communicating on the computer network using the first computer terminal; and transmitting to the wireless station a message at least party in response to determining that the first subscriber has ceased communicating on the computer network, the message including an instruction related to calling back the first telephone number.

Yet another embodiment of the present invention is a method of processing a telecommunications call, the method comprising: detecting a presence of a first subscriber accessing a computer network via a first computer terminal connected to a first telephone line; receiving from a calling telephone station a forwarded call intended by a caller for the first telephone line; receiving signaling information associated with the forwarded call, the signaling information including at least a telephone number associated with the calling telephone station; providing an indication to the calling telephone station that the first telephone line is busy; determining when the first subscriber is no longer accessing the computer network via the first computer terminal; and at least partly in response to determining that the first subscriber is no longer accessing the computer network via the first computer terminal, transmitting a first notification to the first caller, the first notification including callback information.

One embodiment of the present invention is a method of call processing, comprising: detecting that a first user is accessing a computer network using a first line; detecting that a second user is calling the first user when the first user's line is busy and the first user is accessing the computer network; determining that the second user is calling using a wireless station; detecting that the first user has ceased accessing the computer network; and at least partially in response to detecting that the first user has ceased accessing the computer network, enabling the second user to call the first line via the wireless station using a single key entry.

Another embodiment of the present invention is a call processing system, comprising: a first instruction configured to detect when a first user is accessing a computer network using a first line; a second instruction configured to detect when a second user is calling the first user when the first line is busy; a third instruction configured to determine that the second user is calling using a wireless station; a fourth instruction configured to detect that the first user has ceased accessing the computer network; and a fifth instruction configured to transmit callback information to the wireless station at least partially in response to the fourth instruction detecting that the first user has ceased accessing the computer network.

Still another embodiment of the present invention is a method of providing line status information, comprising: receiving over a network presence information from a client application executing on a computer system accessing a first telephone line; receiving on a second telephone line a call intended by a caller to be connected to the first telephone line, wherein the call was forwarded to the second telephone line at least in part due to the computer system accessing the first telephone line; determining that computer system has ceased accessing the first telephone line; and transmitting a text notification to the caller at least partly in response to determining that computer system has ceased accessing the first telephone line.

Yet another embodiment of the present invention is a method of providing line status information, comprising: receiving over a network presence information from a client application executing on a computer system accessing a first telephone line; receiving on a second telephone line a call intended by a caller to be connected to the first telephone line, wherein the call was forwarded to the second telephone line at least in part due to the computer system accessing the first telephone line; determining that computer system has ceased accessing the first telephone line; and bridging a call between the first telephone line and the caller at least partly in response to determining that computer system has ceased accessing the first telephone line.

Another embodiment of the present invention is a calling system, comprising: a call manager system configured to receive presence information from a client application executing on a computer system accessing a first telephone line, and configured to receive a forwarded call intended by a caller to be connected to the first telephone line, wherein the call manager is further configured to determine that the computer system has ceased accessing the first telephone line and to transmit a notification to the caller at least partly in response to determining that computer system has ceased accessing the first telephone line; and the client application, wherein the client application is configured to provide the presence information to the call manager system.

Yet another embodiment of the present invention is a method of processing a call, the method comprising: receiving, at an enhanced services platform, a request to activate Do-Not-Disturb on a first phone address wherein the first phone address is associated with a first user; modifying a state of the first user's first phone address to Do-Not-Disturb; receiving, at the enhanced services platform, call signaling information associated with a first call from a first caller placed by the first caller using a first telephonic device, the first call intended for the first user; determining whether the telephonic device of the first caller is capable of receiving a text messages wherein the determination is based at least in part on a first caller's phone address included in the call signaling information associated with the first call; at least partly in response to determining that the telephonic device of the first caller is capable of receiving a text message, presenting via a first user interface to the first caller during the first call an option to receive a first notification type when the first phone address Do-Not-Disturb state changes; at least partly in response to receiving, at the enhanced services platform, the first notification type request wherein the first notification type request is associated with the first caller and the state of the first user's first phone address, storing the first notification type request in non-transitory memory; receiving, at the enhanced services platform, a request to deactivate Do-Not-Disturb on the first phone address; at least partly in response to receiving the Do-Not-Disturb deactivation request: modifying the state of the first user's first phone address to a status different than Do-Not-Disturb; transmitting, from the enhanced services platform, a first notification type to the first telephonic device associated with the first caller, wherein the first notification type includes the first user's first phone address and enables, at least in part, the first caller to initiate a second call to the first user's first phone address; and, optionally, wherein the first phone address is a virtual phone address associated with the first user; and, optionally, wherein the state of the first phone address includes at least one of a state of Do-Not-Disturb, a state of Available, and a state of Busy; and, optionally, wherein the first notification type is an SMS message; and, optionally, wherein the first notification type is peer-to-peer texting service; and, optionally, the method further comprising: providing a second user interface to the first user for inhibiting first notification type transmission; and, optionally, wherein the presentation via the first user interface includes an option for the first caller to press a first key if the first caller wants to receive the first notification type; and, optionally, the method further comprising: receiving, at the enhanced services platform, call signaling information associated with a third call from a second caller placed by the second caller using a second telephonic device, the second call intended for the first user; determining that a Do-Not-Disturb state of the first phone address is deactivated; generating an outbound call to a telephonic device associated with the first user; and, bridging the third call with the outbound call; and, optionally, wherein the bridging enables a two-way talk path between the second caller and the first user.

Yet another embodiment of the present invention is a method of processing a call, the method comprising: providing via a first user interface presented via a client software application running on a mobile device of a first user an instruction to configure Do-Not-Disturb on a first phone address associated with the first user; receiving, at the client software application, a request to activate Do-Not-Disturb on a first phone address wherein the first phone address is associated with the first user; modifying a state of the first user's first phone address to Do-Not-Disturb; receiving, at an enhanced services platform, call signaling information associated with a first call from a first caller placed by the first caller using a first telephonic device, the first call intended for the first user; determining whether the first telephonic device of the first caller is capable of receiving a text messages wherein the determination is based at least in part on a first caller's phone address included in the call signaling information associated with the first call; at least partly in response to determining that the first telephonic device of the first caller is capable of receiving a text message, presenting via a second user interface to the first caller during the first call an option to receive a first notification type when the first phone address Do-Not-Disturb state changes; at least partly in response to receiving, at the enhanced services platform, the first notification type request wherein the first notification type request is associated with the first caller and the state of the first user's first phone address, storing the first notification type request in non-transitory memory; receiving, at the client software application, a request to deactivate Do-Not-Disturb on the first phone address; at least partly in response to receiving the Do-Not-Disturb deactivation request: modifying the state of the first user's first phone address to a status different than Do-Not-Disturb; and transmitting, from the enhanced services platform, a first notification type to the first telephonic device associated with the first caller, wherein the first notification type includes the first user's first phone address and enables, at least in part, the first caller to initiate a second call to the first user's first phone address; and, optionally, wherein the first phone address is a virtual phone address associated with the first user; and, optionally, wherein the state of the first phone address includes at least one of a state of Do-Not-Disturb, a state of Available, and a state of Busy; and, optionally, wherein the first notification type is an SMS message; and, optionally, wherein the first notification type is peer-to-peer texting service; and, optionally, the method further comprising: providing via the first user interface a control enabling the first user to inhibit the first notification type transmission; and, optionally, wherein the presentation via the second user interface includes an option for the first caller to press a first key if the first caller wants to receive the first notification type; and, optionally, the method further comprising: receiving, at the enhanced services platform, call signaling information associated with a third call from a second caller placed by the second caller using a second telephonic device, the second call intended for the first user; determining that a Do-Not-Disturb state of the first phone address is deactivated; generating an outbound call to the mobile telephonic device associated with the first user; and bridging the third call with the outbound call; and, optionally, wherein the bridging enables a two-way talk path between the second caller and the first user; and, optionally, the method further comprising: downloading the client software application to a mobile device of the first user. Yet another embodiment of the present invention is a system, the system comprising: an enhanced services platform, including at least one processing device; instructions stored on non-transitory media that when executed by the enhanced services platform, cause the enhanced services platform to perform operations, comprising: providing via a first user interface presented via a client software application running on a mobile device of a first user an instruction to configure Do-Not-Disturb on a first phone address associated with the first user; receiving, at the client software application, a request to activate Do-Not-Disturb on a first phone address wherein the first phone address is associated with the first user; modifying a state of the first user's first phone address to Do-Not-Disturb; receiving call signaling information associated with a first call from a first caller placed by the first caller using a first telephonic device, the first call intended for the first user; determining whether the first telephonic device of the first caller is capable of receiving a text messages wherein the determination is based at least in part on a first caller's phone address included in the call signaling information associated with the first call; at least partly in response to determining that the first telephonic device of the first caller is capable of receiving a text message, presenting via a second user interface to the first caller during the first call an option to receive a first notification type when the first phone address Do-Not-Disturb state changes; at least partly in response to receiving the first notification type request wherein the first notification type request is associated with the first caller and the state of the first user's first phone address, storing the first notification type request in non-transitory memory; receiving, at the client software application, a request to deactivate Do-Not-Disturb on the first phone address; at least partly in response to receiving the Do-Not-Disturb deactivation request: modifying the state of the first user's first phone address to a status different than Do-Not-Disturb; and transmitting a first notification type to the first telephonic device associated with the first caller, wherein the first notification type includes the first user's first phone address and enables, at least in part, the first caller to initiate a second call to the first user's first phone address.

Thus, the present invention provides systems and methods for a callback process that can be used with PSTN systems, wireless stations and the Internet, to thereby greatly facilitate call completion.

BRIEF DESCRIPTION OF THE DRAWING

These features will now be described with reference to the drawings summarized below. These drawings and the associated description are provided to illustrate preferred embodiments of the invention, and not to limit the scope of the invention.

FIG. 1 illustrates an example telecommunications system in accordance with one embodiment of the present invention.

FIG. 2 illustrates an example message communication system.

FIG. 3 illustrates an example callback process in accordance with the present invention.

FIG. 4 illustrates and example process of sending an SMS message.

FIG. 5 illustrates an example callback notification.

FIG. 6 illustrates a second example telecommunications system.

FIGS. 7-8 illustrate the operating environment process of a second example callback process.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

The present invention is related to methods and systems for detecting and notifying a caller when a called busy telecommunications line transitions from a busy state to an idle state. In particular, one embodiment of the present invention advantageously provides a callback notification system for wireless communication devices, such as cellular phones, as well as for wireline communication devices.

For example, when a user utilizes a telephone line to access a computer network via a dial-up connection, the telephone line will transition to a busy state and will not accept incoming calls. Instead, the line can be provisioned through the local phone company to forward incoming calls to a call processing system. By way of example, if a caller using a wireless, text message-enabled telephone calls the user's telephone line, the call will be forwarded to the call processing system. Based at least in part on receiving the forwarded call, the call processing system determines that the user's phone line is busy.

The call processing system then determines when the user has ceased accessing the computer network. Upon determining that the user has ceased accessing the computer network, the call processing system infers that the user's telephone line is now idle and transmits a corresponding text message to the caller's telephone. The text message includes the user's telephone number. The caller can proceed to call the now-idle telephone line without having to re-enter the user's telephone number. Instead, the caller can press a “send” key, a “talk” key, or the like, on the caller's telephone and the telephone will automatically dial the user's phone number. The call will then be completed. Thus, utilizing the present invention, the caller is spared from having to repetitively attempt to call the user in the hopes that the called line will free up. Further, the caller advantageously does not have to be a registered user of the call manager system or of the callback function. Various embodiments of the invention are discussed in greater detail below.

Throughout the following description, the term “Web site” is used to refer to a user-accessible network site that implements the basic World Wide Web standards for the coding and transmission of hypertextual documents. These standards currently include HTML (the Hypertext Markup Language) and HTTP (the Hypertext Transfer Protocol). It should be understood that the term “site” is not intended to imply a single geographic location, as a Web or other network site can, for example, include multiple geographically distributed computer systems that are appropriately linked together. Furthermore, while the following description relates to an embodiment utilizing the Internet and related protocols, other networks, such as networked interactive televisions, and other protocols may be used as well. In addition, unless otherwise indicated, the functions described herein are preferably performed by executable code and instructions running on one or more general-purpose computers. However, the present invention can also be implemented using special purpose computers, state machines, and/or hardwired electronic circuits. In addition, a communications line is referred to as “busy” when the communication line is being utilized in such a way that a conventional incoming call will not be connected to the communications line. Thus, for example, if a user is utilizing a conventional line capable of only conducting one of a conventional voice session and a data session, but not both at the same time, for a data session, the line will be busy. In addition, a communications line is optionally referred to as being in a “Do-Not-Disturb” state when the user and/or system is configured not to direct live inbound calls to the called party at least partly in response to the called party providing a “do not disturb” instruction. Thus, for example, if a user's phone address is in a Do-Not-Disturb state, calls to the user's phone address are optionally directed, for example, to voice mail instead of to a telephonic device of the user including for example, the user's cell phone, smart phone, mobile computing device, personal computer, etc.

FIG. 1 illustrates an example telecommunications system 100 that can be used in accordance with the present invention. As illustrated, the telecommunications system 100 includes a plurality of users having corresponding telephone physical lines or wireless “lines” connected to telephone stations 102-108. The telephone stations can be wireless, such as stations 102, 104, or wired, such as stations 106, 108. The wireless stations 102, 104 can be, for example, CDMA wireless phones, smart phones, mobile computing devices, VoIP devices, or fixed computing devices, or other types of telephonic device. The wired stations 106, 108 are connected via telephone lines 118, 120 to a PSTN 114 configured to process calls from fixed or standard telephone stations. The wired stations 106, 108 can be conventional POTS (Plain Old Telephone System) telephones, text-message enabled phones, or fixed computing devices (e.g., a user's personal computer).

The telephone lines 118, 120 may be shared with one or more computer terminals 110. The computer terminal 110 can be a personal computer having a monitor, keyboard, a disk drive, and a modem, such as a standard V.90 56K dial-up modem. The modem can optionally be configured to dial-up a number under control of an application, such as a contact manager application or telecommunications client application phone dialer, stored and executing on the computer terminal 110. In addition, the computer terminal 110 can be an interactive television, a networked-enabled personal digital assistant (PDA) or the like. Residing and executing on the computer terminal 110 is a soft switch telecommunications client application or a general purpose call processing software application (App) 112. The client application 112 is used to provide enhanced communication services, as discussed in greater detail below. The client application optionally is downloadable from a web site (e.g., a web server 600, illustrated in FIG. 6, of the client App provider) to a fixed or mobile device of the user. Optionally, the client application is preinstalled on the fixed or mobile device of the user. The client application 112 is connected to and communicates with a call manager system 124 via the Internet 126 or the like. The call manager 124 includes a server-based session manager subsystem 130 that maintains session status across the client sessions.

In addition, the computer terminal 110 can be equipped with VoIP (Voice over Internet Protocol) software 138 and a handset 140, including a microphone and speaker, allowing voice communications to be conducted over the Internet 126 using Internet Protocol. VoIP communicates data via packet switching, which opens a connection just long enough to send a packet of data, including digitized voice data. In particular, the computer terminal 110 divides the voice data into small packets. Each packet includes a destination address informing the network where to send the packet. If the receiving station is also a VoIP terminal, then when the receiving terminal receives the packets, VoIP software executing on the receiving terminal reassembles the packets into the original data stream. The data stream is then converted to a voice signal. If the receiving station is a conventional telephone, then a VoIP gateway converts the packets into a voice signal which is then connected to the conventional telephone.

In one embodiment, the VoIP process is performed using the H.323 standardized protocol established by the International Telecommunications Union (ITU). Advantageously, H.323 provides specifications for real-time, interactive videoconferencing, data sharing and audio applications such as IP telephony. Alternatively, the Session Initiation Protocol (SIP), established by the Internet Engineering Task Force (IETF), can be used. SIP is generally more efficient than the H.323 protocol as SIP is specifically intended for IP telephony.

The telephone lines 118, 120 can be used to establish a dial-up connection for computer terminals, such as terminal 110 via the modem, to an Internet Service Provider (ISP).

In particular, the telephone stations 106, 108 and/or computer terminal 110 are coupled via the fixed PSTN 114 to corresponding local exchange switches 136, 142, used to connect and route calls, and to and from local exchange switches and remote exchanges via tandem switching offices of the fixed PSTN 114. The telephone stations 106, 108 are connected to a telephone server system 122 in the call manager system 124, via the fixed PSTN 114 through a trunk system 134. Thus, advantageously the call manager system 124 does not have to be coupled to the same local exchange as the calling or called terminal. Indeed, the call manager system 124 can be located in a different country than the called and calling parties. This provides much greater flexibility than many conventional systems offering some type of callback function, which have to be located between the calling station and the calling station's local exchange.

The call manager system 124 optionally hosts a Web site used by subscribers of the call manager system 124 to setup and manage their accounts and hosted on one or more web servers, such as the web server illustrated in FIG. 600. Other embodiments of the call manager system 122 are described in U.S. patent application Ser. No. 09/539,375, filed Mar. 31, 2000, the contents of which are incorporated herein in their entirety by reference. The call manager system 122 is optionally configured as, or to appear as, a telephone central office and can interface with the PSTNs 114, 116 as a Class 5 switch.

The telephone trunk system 134 has associated signaling channels. The present invention is not limited to a particular signaling convention. For example, as illustrated, the present invention can be utilized with a Common Channel Signaling system, such as Signaling System 7 (SS7), having separate voice/user data and signaling channels. In addition, the present invention can be used with other signaling methods, such as ISDN, Advanced Intelligent Network (AIN), and/or inband signaling. The selected signaling system provides caller identification, wherein the caller's telephone number is provided to the called party. Thus, for example, ANI (Automatic Number Identification) information is provided, wherein the caller's local telephone company transmits the calling or billing telephone number along with the call.

The wireless stations (e.g., smartphones or other mobile devices) 102, 104 are coupled to a PSTN 116, which includes the wireless mobile network, configured to handle mobile, wireless stations via wireless communications towers configured to broadcast and receive cellular radio frequency communications. The wireless towers can be, for example, CDMA or GSM cellular mobile base stations. The PSTN 116, in turn, is connected to the call manager system 124 via the trunk system 134. The call manager system 124 can communicate via the Internet mobile 128 with other Internet capable devices, including wireless stations 102, 104, configured to receive Internet communications, including, but not limited to, text messages. With reference to FIG. 6, optionally, the collection of servers (e.g., presence server 130, telephone server 122, and/or web server 600) included in the call manager system/enhanced call processing system 124 are interconnected through Data Networks 126 and wireless data networks 128 (e.g. the public Internet and wireless data network—as depicted by the dotted line connections in FIG. 6) and/or via a private Local Area Network (LAN) or private Wide Area Network (WAN) 450. Optionally, application data and customer account information is stored in one or more customer account databases 700.

When a user attempts to place a call via station 102 to station 108, the call is routed through a mobile base station system to the PSTNs 114, 116. If the line 120 for station 108 is busy, the PSTN 114 forwards the call to a local or toll-free number associated with the call manager system 124. The call manager 124 then processes the call as described in greater detail below. This is in contrast to many conventional systems providing a callback feature, wherein these conventional callback systems must be positioned between the calling terminal and the calling terminal's local exchange and then must intercept calls from the calling terminal. By contrast, one embodiment of the present invention can optionally be located remotely from the local exchange switch and does not have to be positioned between the local exchange switch and the calling station.

FIG. 2 illustrates an example message communication system 200 used to communicate text messages between the call manager system 124 and SMS (short message service) enabled stations, such as the wireless stations 102, 104. SMS is a wireless messaging service that enables the transmission of alphanumeric messages between mobile subscribers and external systems such as voice mail systems, electronic mail system and paging systems. Of course other messaging protocols, such as the Wireless Application Protocol (WAP), can be used with appropriately equipped wireless stations. Advantageously, WAP enables wireless devices to display and use hypertext documents and provides wireless Internet access via a minibrowser executing on the wireless device.

The wireless stations 102, 104 communicate via a base station system (BSS) 202 to a mobile switching center (MSC) 204 to the SS7 signaling network 206. A visitor location register (VLR) database 208, containing temporary subscriber information, is coupled to the MSC 204 via the SS7 signaling network 206. The VLR database 208 includes temporary information concerning the mobile subscribers that are currently located in a given MSC serving area, but whose Home Location Register (HLR) 212 is stored outside the MSC serving area.

A short message service center (SMSC) 214, configured to store and forward messages between a mobile station, such as the wireless stations 102, 104 and other SMS enabled entities, is coupled to the SS7 signaling network 206 via an SMS mobile switching center gateway 210. The SMS mobile switching center gateway 210 queries the HLR database 212 for routing information and delivers text messages. The HLR database 212 contains mobile subscriber information for the wireless carriers' subscribers. HLR subscriber information includes a unique subscriber identifier, service subscription information, location information, including the identity of the current VLR, to enable the routing of mobile-terminated calls, and other service information.

The call manager system 124 manages communications with the client application 112. If the call manager 124 requests that the user enters commands via touch tone entries, the call manager system 124 optionally records and stores a log of the touch-tone entries. The call manager requests can be in the form of voice prompts that guides the user to through the appropriate callback options. In addition to providing the callback function, the call manager system 124 can be configured to perform additional functions, such as acting as a telephone answering system that answers call, plays outgoing messages and records incoming messages.

One such Internet answering system is operated by CallWave, Inc. As is well known in the field of Internet telecommunications, CallWave, Inc. provides an Internet digital answering service that works with the “Call Forward On Busy” feature of a standard phone line to answer calls while the subscriber is online and is using the phone line to access the Internet. Once activated, callers no longer get annoying busy signals when the subscriber is online. Instead, callers hear a brief greeting after which they can leave a short message. The recording can be streamed in substantially real-time or sent within seconds after recording has completed to the subscriber over the Internet.

The call manager system 124 is connected to the Internet 126, 128 as a computer host. As previously discussed, the call manager system 124 can also host a Web site used to manage subscriber accounts. When a user or subscriber connects to the Internet using, for example, a dial-up ISP, the telecommunications client application executing on the subscriber's computer terminal can make the subscriber's online presence known to the call manager system 124. In particular, the call manager system 124 includes a presence detection system 130 that communicates with the client application 112 executing on the computer terminal 110 to determine whether the computer 112 is online. Presence detection can be performed by the presence detection system 130 polling or pinging the computer terminal 110 via the client application 112, or by the client application transmitting an “I'm alive” message and subsequent periodic “keep alive” messages to the presence detection system 130.

A user can access a data network, such as the Internet 126, by establishing a telephone dial-up connection to an ISP. The Internet 126 is coupled to the PSTNs 114, 116, via a trunk or backbone system 132. Text, graphic and voice communications can be communicated between the call manager system 122 and the computer terminal 110. For example, communications are transmitted from the call manager system 122 over the PSTN 114, via the trunk system 132 to the computer terminal 110 via the Internet 126. Similarly, communications are transmitted from the computer terminal 110, over the Internet 126, through trunk system 132 to the telephone and presence servers 122, 130. The user is preferably a registered subscriber to the call manager system 124.

FIG. 3 illustrates an example callback process 300 for a calling party, referred to as Party B, and a called party, referred to as Party A. Beginning at start state 302, the process 300 proceeds to state 304. At state 304, Party A goes online by accessing the Internet via a computer terminal. As similarly discussed above, Party A may be using a computer terminal, such as terminal 110 illustrated in FIG. 1, to access the computer network, such as the Internet 126 or a private Wide Area Network (WAN). If Party A has a call waiting feature, in this example the call waiting feature is turned off for the current network access session. This ensures that the network access by the computer terminal is not interrupted by an incoming call. Thus, if someone attempts to call Party A's line during the network accession, the line will be busy.

A client program, such as the telecommunications client application 112 discussed above, executing on the computer terminal logs onto the call manager system over the Internet. Information that may be communicated as part of the logon process includes one or more of the user's account number, IP address, and other user attributes. It is assumed that Party A's line is configured to have calls forwarded by Party A's local exchange using a “Call Forward On Busy” function. The calls are forwarded to a call manager system, such as call manager system 124 discussed above, when the line is busy. At state 306, the telecommunications client application provides an online presence indication to the call manager system.

At state 308, Party B calls Party A's phone line using, by way of example, the wireless station 102 or 104. At state 310, Party B's call is forwarded to the call manager system over the PSTN, such as PSTN 114, along with signaling information. The signaling information includes Party B's phone number. Optionally, if Party A does not have calling forwarding activated, Party B can directly dial the call manager system via a local or toll free number and the call manager system will answer the call and receive the signaling information, including Party B's phone number.

At state 312, the call manager system answers Party B's call. Optionally, Party B can record a voice message on the call manager system. If Party A is still online, at state 314 the call manager system optionally notifies Party A of Party B's call and transmits or streams the voice message, if any, from Party B. The notification can be provided in substantially real-time via the telecommunications client application and displayed on the computer terminal monitor. In particular, the call manager can transmit the notification over the Internet to the telecommunications client application and to Party A's computer terminal for display. The voice message can be streamed over the Internet to the computer terminal at the same time the notification is displayed by the telecommunications client application.

Alternatively, the call manager looks up Party A's email address in a subscriber database and then emails the notification and voice message to Party A's email address. The notification can also be provided using an instant messaging system or a web page banner. The notification optionally includes Party B's phone number. In addition, the call manager can access a reverse number database or a contact database associated with Party A to locate a name or other identifier associated with Party B's phone number. If a corresponding name or other identifier is located, it can be included in the notification provided to Party A.

Optionally at state 315, Party A is asked if he or she wants to decline to have a notification provided to Party B's once Party A frees up the line. If Party A does decline to have the notification provided to Party B, the automated callback notification process is terminated at state 332, though any recorded voice message from Party B can still be transmitted to Party A. If Party A agrees to have the notification provided to Party B, the process proceeds from state 315 to state 316.

If more than one call comes in when while Party A's line is busy, a message listing all the calls missed during the Party A's current online session is transmitted to Party A's computer terminal. Party A can then select from the list, which caller or callers are to receive a notification once Party A goes offline. A message is optionally transmitted to the other, non-selected callers informing them that a line-idle notification will not be provided. Party A can still listen to messages left by all the callers.

Party A can also be provided the option to connect immediately to Party B via a handset coupled to the computer terminal using VoIP software executing on the computer terminal or via a conventional telephone. The computer terminal's modem dials the call manager system via the conventional PSTN, and the call manager then bridges the two calls.

A message is optionally sent to Party B, asking if Party B would like to be notified when Party A's line is idle. The message can be provided as a voice, text, or graphic message that instructs Party B on how to provide a response. If the notification is to be provided as an SMS alphanumeric text message, then at state 316, based on the calling number and using an SMS database or other databases, such as the Local Exchange Routing Guide, the call manager system determines if the calling number is associated with a cellular phone or a conventional telephone station and the carrier associated with the caller's calling station. The Local Exchange Routing Guide (LERG) provides information from Local Exchange Carrier to Inter-exchange carriers for routing and trunking between networks based on a number's area code and prefix. With the increasing popularity of SMS (short message service), in one embodiment the call manager assumes or determines at state 318 that the calling station is SMS enabled and that the SMS function is activated.

If the call manager has determined that Party B's calling station is an SMS enabled station, the call manager infers that an email address associated with the caller is the caller's telephone number “@” the carrier name. For example, if the incoming call is from a number “310-555-5555” and is associated with a carrier “CarrierX,”, with the Internet domain “carrierx.com”, then it is inferred that the caller's email address associated with the caller's cellular phone is 3105555555@carrierx.com. In another embodiment, using the ENUM protocol, Party B's phone number is mapped directly to the calling station's email address. ENUM is an Internet Engineering Task Force (IETF) protocol (RFC 2916) that resolves fully qualified telephone numbers to fully qualified domain name addresses using a DNS-based architecture. At state 320, the call manager system optionally emails a message to the inferred email address via SMS or other messaging system. The message provides Party B with the option for having a callback notification transmitted to Party B when Party A's line becomes idle.

For example, Party B can optionally be instructed by the message to press a “#” key on Party B's calling station keypad if Party B wants to be notified when the subscriber's line goes idle, and to press a “*” key if Party B does not want to be notified when the subscriber's line goes idle. In another example embodiment, Party B provides a voice indication as to whether Party B is to be notified when the subscriber's line goes idle. Assuming that Party B requests notification, Party B's notification request is logged by the call manager system at state 322. Otherwise, if Party B declines to be notified, Party B is offered the option to leave a voice message, which will be recorded by the call manager for later playback to the subscriber. The action of notifying calling Party B is independent of whether Party B did or did not leave a message. Thus, for example, Party B may first be offered the option of recording a voice message, and then asked if an idle line notification is to be sent.

At state 324, the call manager system determines if Party A has gone offline, that is, no longer accessing the Internet. The determination can be based on the failure of the telecommunications client application to send an appropriate presence indication to the call manager system or based on the telecommunications client application transmitting a log-off message. If Party A has gone offline, at state 326 a notification is sent to Party B's calling station informing Party B that Party B's call can now be completed. The message includes the calling party's phone number, and optionally the Party A's name and text and/or graphics informing Party B that Party A's line is now free.

A determination is made at state 328 by software executing on Party B's calling station as to whether Party B wants to be connected to Party A. If Party B responds in the affirmative, via a keypad button, such as the “talk” key, the “send” key, or via voice commands, then at state 330 the calling station automatically calls Party A's number using the phone number provided in the message, and if Party A answers, the call is completed. The process ends at state 332.

In another embodiment, rather than transmitting the message at state 320 and receiving the response at state 322, the call manager system automatically proceeds to state 324 and transmits the notification at state 326. In still another embodiment, rather than send another message to Party B at state 326 and performing the determination at state 328, the callback is automatically initiated by the call manager using a bridging operation after determining that Party A has gone offline. Alternatively, rather than send another message to Party B at state 326 and performing the determination at state 328, the callback is automatically initiated by the call manager using a call bridging operation after determining that Party A has gone offline. The call manager system first calls Party B's phone number Next, the call manager system calls Party A's line and bridges Party A with Party B. Other bridging techniques which are well known to those of ordinary skill in the industry, and hence not explained in detail herein, can be used as well. Advantageously, in one embodiment a calling party does not have to be a subscriber to the call manager system and does not have to pay extra or register to have the callback function performed using the process 300.

FIG. 4 illustrates in greater detail the notification delivery process of state 326 using SMS. If Party B's calling station is a mobile, SMS enabled station, then the message is sent to the calling station as follows. The message is sent by the call manager system to the appropriate email address at state 402. The message is then transmitted to a short message service center (SMSC), such as SMSC 214 illustrated in FIG. 2, at state 404. At state 406, the SMSC performs a routing information request by querying a home location register (HLR) database, such as HLR 212, and receives routing information, including identification of a service mobile switching center for the mobile calling station. At state 408, the SMSC transmits the message to a mobile switching center (MSC), such as MSC 204, using a point-to-point forward short message operation.

The MSC accesses calling station information at state 410 from a visitor location register (VLR) database, such as VLR 208. The MSC then transmits the message to Party B's calling station via a base station system (BSS), such as BSS 202, at state 412. The MSC provides the SMSC the forward message operation status at state 414. If the forward message operation was not successful, a retry operation can be performed. If the status indicates that Party B's station is not SMS enabled, the call manager system logs this information in a caller database at state 416. In one embodiment, the status of returned email is tracked. For example, if an email is “bounced” or returned with an “address unknown” status, this information is stored in a call manager database so that for future calls placed from Party B's calling station, the call manager system will not attempt to send SMS text messages to Party B's calling station. If an email to an address is “bounced” returned with a “mailbox full” status message, this information is logged and the status is treated as a transient case, wherein the call manager will attempt to send future emails to that address. In addition, if an email notification is bounced, the called party is optionally so notified so that Party A will not expect a callback from Party B.

Optionally, certain Peer-to-Peer (PtoP) texting services can be used to send a notification. Optionally, these PtoP texting services are preinstalled on a user's mobile device and/or rely upon the user to download an application over a data network (e.g., Internet) to their fixed and/or mobile device. An example texting App is iMessage™ from Apple.

FIG. 5 illustrates an example callback message displayed on a cellular phone 500. A display 502 displays the callback message received by the phone 500 via the SMS system. The display optionally includes Party A's name as determined from registration information stored in a user database. The message instructs the user to press the “talk” key 504 to initiate the callback process. Of course, the message may request different types of responses, including requesting activation of different keys or verbal responses.

Certain enhanced call processing systems provide users with one or more phone numbers/phone addresses which calls can be placed to. These phone numbers/phone address are sometimes referred to as virtual numbers. Calls can be directed to these phone numbers from wireline and/or wireless network environments and associated fixed and mobile data terminal devices. Referring to FIG. 6, calls directed to such virtual numbers route through their respective networks and are received by the network interfacing enhanced call processing system 124. Optionally, in response to an inbound call, the enhanced call processing system 124 generates one or more outbound calls to one or more devices of the user and bridges the inbound call from the caller with the outbound call to the user. For example, Party A places a call to Party B's virtual number. The call routes through the PSTN 114 and is received by the enhanced call processing system 124. In this example, the enhanced call processing system 124 detects the received call but does not immediately answer the call. The enhanced call processing system 124 places an associated outbound call to the user (e.g., the user's mobile device) and upon answer by the user optionally plays one or more voice prompts describing the inbound call and requesting a user action (e.g., the system may announce “Call from Sally, press or say 1 to connect, press or say 2 to send to voice mail, etc.). Optionally, the user takes an action in response to the announced call. For example, the user may instruct the enhanced call processing system 124 to connect the call to the user's mobile device, direct the call to a different number, direct the call to voice mail, etc. Optionally, if the user instructs the enhanced call processing system 124 to connect the call, the enhanced call processing system 124 forms a connection (e.g., a two-way talk path), such as by bridging the inbound call with the outbound call. The enhanced call processing system 124 optionally provides other services, including camp-on notification services, as described in greater detail below. Advantageously, the calling party and the user (called party) do not have to be within the same switch, same local exchange switching network, and/or same wireless network provider.

Optionally, the enhanced call processing system 124 provides a “Do-Not-Disturb” feature. In general, an example embodiment of the Do-Not-Disturb feature enables the user (called party) to monitor and/or direct their incoming calls without answering the calls. For example, a user might activate the Do-Not-Disturb feature when s/he is in an important meeting. Optionally, as described above, the inbound call can be manually or automatically directed to another user/phone address specified by the user. Optionally, the call can be manually or automatically directed to voice mail, and the enhanced call processing system 124 may answer the call, and record a message from the caller for the user. Optionally, if the call is answered with voice mail by the enhanced call processing system 124, the user can “screen” the call by listening as the voice mail is being left by the caller on a half duplex connection, wherein the enhanced call processing system 124 streams the message being recorded to a user device.

Optionally, the enhanced call processing system can inform the caller of the user's Do-Not-Disturb condition. Optionally, the enhanced call processing system does not provide the caller with the user's Do-Not-Disturb/Busy/Unavailable call state (e.g., whether the phone line is busy, Do-Not-Disturb, mobile device turned off or inactive, lack of activity or presence of the user's device, etc.). Optionally, the enhanced call processing system presents a camp-on option when the user is unavailable to take their call. Optionally, when the caller has requested a camp-on, upon a user's state changes from Do-Not-Disturb to, for example, available, the system determines from the calling party's phone number/phone address a destination to notify the user. The enhanced call processing system, as described further below, notifies the caller of the user's availability and facilitates a call-back (e.g., provides the calling party with the user's phone number).

FIGS. 7-8 depict an example embodiment where a user is in a meeting with Do-Not-Disturb activated, receives a call, and the caller receives an SMS text notification when the user de-activates Do-Not-Disturb after the meeting has concluded. In this example, the user, John, is subscribed to an enhanced call processing system which provides virtual number services, Do-Not-Disturb features, and associated Camp-On type features. The caller Sally is not a subscriber to the virtual number service.

-   State 1. John enters an important meeting at work. John selects a     control on his call management App 112 running on his smartphone 102     which activates the Do-Not-Disturb feature. -   State 2. The call management App 112 receives John's instruction and     transmits, for example over a data network 126, the request to an     enhanced call processing server 124 which receives and manages     John's inbound calls. -   State 3. The enhanced call processing server 124 activates the     Do-Not-Disturb feature. In this example, John has previously     configured his Do-Not-Disturb feature to allow the enhanced call     processing server 124 to allow Callers to Camp-On. -   State 4. Sally places a call from her cell phone 104 to John while     John is in the meeting. The call is received by the enhanced call     processing server 124. -   State 5. The enhanced call processing server determines how to     handle the call by looking up the called number in a database 700     associated with the enhanced call processing server 124. In this     example, the enhanced call processing server 124 also determines     whether Sally can receive a text notification by performing a     database lookup using the received caller ID. -   State 6. The enhanced call processing server 124 transmits over a     wireless data network 116 a user call notification to the call     management App 112 running on John's smartphone 102. -   State 7. The call management App 112 receives the user call     notification and provides a notification to John, in this example a     gentle vibration of his mobile device. In this example, the App     displays information about Sally including Sally's Caller ID and one     or more call treatment options (e.g., let the call ring and do not     answer, send to voice mail immediately, I'll take the call in     screening mode, do not provide Camp-On option, etc.). In this     example, John takes no action. -   State 8. In this example, the default call handling instruction is     to send the call to voice mail and it is further determined in State     5 that the inbound call from Sally originated from her text capable     cell phone. The enhanced call processing server 124 answers the     call, prompts Sally to select a Camp-On notification, and to leave a     voice message for John (e.g., plays John's voice mail greeting     followed by a brief Camp-On option, wherein Sally is instructed to     press a key, such as the “1” key if Sally wants to take advantage of     the Camp-on option). -   State 9. Sally is interested in a notification so selects the     keypress 1 option on her cell phone 104. -   State 10. The enhanced call processing server 124 receives the dtmf     tone 1 selection by Sally. The enhanced call processing server 124     stores the Camp-On notification request in account database 700. -   State 11. At the end of the meeting John removes the Do-Not-Disturb     feature by selecting a control on his call management App 112     running on his smartphone 102. -   State 12. The call management application receives John's     instruction and transmits, for example over the data network 128,     the request to the enhanced call processing server 124 which     receives and manages John's inbound calls. -   State 13. In this example, the call management App 112 displays an     informational message to John that a notification regarding John's     availability is going to be sent to Sally and provides an option to     prevent the notification from being sent. John takes no action. -   State 14. The enhanced call processing server 124 deactivates the     Do-Not-Disturb feature. The enhanced call processing server 124     further checks the database 700 to see if there are any pending     Camp-On notifications associated with John's account. The database     indicates that there is one pending Camp-On notification. -   State 15. The enhanced call processing server 124 creates a text     notification message including John's phone number and sends the     text notification via the SMSC to Sally. In this example, the text     notification includes a branding tag line (e.g., CampOn from     CallWave! or CallNow! from CallWave). -   State 16. Sally receives the text notification from the enhanced     call processing server 124 via the SMSC. -   State 17. Sally selects the call button on her cell phone 104 and     the cell phone 104 originates a return call to John's virtual     number, which was included in the text notification at State 15.     John is not available and the enhanced call processing server 124     receives the call and completes the call (not illustrated further in     FIGS. 7-8).

With respect to State 1, in another embodiment, John can access a web site associated with the enhanced call processing server 124. The user may log into the web site, and the web site server 600 may display a web page including a Do-Not-Disturb control, which the user may activate. Optionally, the Do-Not-Disturb feature can be activated by calling a number associated with the enhanced call processing server and interacting via dtmf tone commands or voice commands via an Interactive Voice Response system. Optionally, the Do-Not-Disturb feature is activated by John calling directly (or through the client App) a designated “activate” phone number which terminates on an enhanced call processing server. John's caller ID is used as an identifier in a database lookup to activate the Do-Not-Disturb feature. Optionally, the Do-Not-Disturb feature is activated by the user texting a message to a designated number or electronic address.

With respect to State 3, optionally there are a number of configurable options with respect to a Do-Not-Disturb feature as discussed above (e.g., call screening). Optionally, John configures only a designated list of callers which can use the Camp-On feature (that is, they are not presented the option of notification when John becomes available). Optionally, the Camp-On feature is only offered to callers in John's personal contact data base. Optionally, the Camp-On feature is only offered to callers that have called John a number of times in which the number of times exceeds a configurable threshold. Optionally, the Camp-On feature is only available to callers within certain times of the day, or days of the week as configured by a system administrator and/or by John (or overridden by John).

With respect to State 5, the enhanced call processing server determines whether the caller is calling from a device which can receive a text notification by using for example a LERG database. If the number is a wireless number, the system can, for example, infer that the wireless device is text capable as further described above. Optionally, the enhanced call processing server queries one or more databases, (e.g., a contact database) to retrieve an alternative text address (e.g., an email address) associated with the caller.

With respect to State 8, there are a combination of ways in which to provide a voice mail greeting and a Camp-On instruction. For example, the system can play the Camp-On instruction followed by the user's greeting. Optionally, the system does not prompt the user during the call, but the control is available to the user (e.g., an unprompted active keypress 1). Optionally, the user can speak a command and/or keypress a dtmf selection on their calling device.

With respect to State 11, the options to deactivate Do-Not-Disturb can include some or all of those listed above with respect to State 1.

With respect to State 15, there are a number of ways in which a Camp-On notification can be facilitated, including those notification options described above (e.g., instant messaging, email notification, call notification with or without an option presented to Sally to bridge the call with John, etc).

Thus, as described above, the present invention provides systems and methods for a callback process that can be used with PSTN systems, wireless stations and the Internet to thereby greatly facilitate call completion.

Although this invention has been described in terms of certain preferred embodiments, other embodiments that are apparent to those of ordinary skill in the art are also within the scope of this invention. 

What is claimed is:
 1. A method of processing a call, the method comprising: receiving, at an enhanced services system, a request to activate Do-Not-Disturb on a first phone address, wherein the first phone address is associated with a first user; modifying a state of the first user's first phone address to Do-Not-Disturb; receiving, at the enhanced services system, call signaling information associated with a first call from a first caller placed by the first caller using a first telephonic device, the first call intended for the first user; determining whether the first telephonic device of the first caller is capable of receiving a text messages, wherein the determination is based at least in part on a first caller's phone address included in the call signaling information associated with the first call; at least partly in response to determining that the first telephonic device of the first caller is capable of receiving a text message, presenting, via a first user interface, to the first caller during the first call an option to receive a first notification type when the first phone address Do-Not-Disturb state changes; at least partly in response to receiving, at the enhanced services system, the first notification type request wherein the first notification type request is associated with the first caller and the state of the first user's first phone address, storing the first notification type request in non-transitory memory; receiving, at the enhanced services system, a request to deactivate Do-Not-Disturb on the first phone address; at least partly in response to receiving the Do-Not-Disturb deactivation request: modifying the state of the first user's first phone address to a status different than Do-Not-Disturb; and transmitting, from the enhanced services system, a first notification type to the first telephonic device associated with the first caller, wherein the first notification type includes the first user's first phone address and enables, at least in part, the first caller to initiate a second call to the first user's first phone address.
 2. The method as defined in claim 1, wherein the first phone address is a virtual phone address associated with the first user.
 3. The method as defined in claim 1, wherein modifying the state of the first user's first phone address to the status different than Do-Not-Disturb further comprises modifying the state of the first user's first phone address to Available or Busy.
 4. The method as defined in claim 1, wherein the first notification type is an SMS message.
 5. The method as defined in claim 1, wherein the first notification type is peer-to-peer texting service.
 6. The method as defined in claim 1, the method further comprising: providing a second user interface to the first user for inhibiting transmission of the first notification type.
 7. The method as defined in claim 1, wherein the first user interface includes an option for the first caller to press a first key if the first caller wants to receive the first notification type.
 8. The method as defined in claim 1, the method further comprising: receiving, at the enhanced services system, call signaling information associated with a third call from a second caller placed using a second telephonic device, the second call intended for the first user; determining that the Do-Not-Disturb state of the first phone address is deactivated; generating an outbound call to a telephonic device associated with the first user; and bridging the third call with the outbound call.
 9. The method as defined in claim 8, wherein the bridging enables a two-way talk path between the second caller and the first user.
 10. A method of processing a call, the method comprising: providing, via a first user interface presented via a client software application running on a mobile device of a first user, an instruction to configure a Do-Not-Disturb state with respect to a first phone address associated with the first user; receiving, via the client software application, a request from the first user to activate the Do-Not-Disturb state with respect to the first phone address associated with the first user; modifying a state of the first user's first phone address to Do-Not-Disturb; receiving, at an enhanced services system, call signaling information associated with a first call from a first caller placed by the first caller using a first telephonic device, the first call intended for the first user; determining whether the first telephonic device of the first caller is capable of receiving a text messages wherein the determination is based at least in part on a first caller's phone address included in the call signaling information associated with the first call; at least partly in response to determining that the first telephonic device of the first caller is capable of receiving a text message, presenting via a second user interface to the first caller during the first call an option to receive a first notification type when the first phone address Do-Not-Disturb state changes; at least partly in response to receiving, at the enhanced services system, the first notification type request from the first caller via the second user interface, storing the first notification type request in non-transitory memory; receiving, via the client software application, a request to deactivate the Do-Not-Disturb state with respect to the first phone address; at least partly in response to receiving the Do-Not-Disturb deactivation request: modifying the state of the first user's first phone address to a status different than Do-Not-Disturb; and transmitting, from the enhanced services system, the first notification type to the first telephonic device associated with the first caller, wherein the first notification type includes the first user's first phone address and enables, at least in part, the first caller to initiate a second call to the first user's first phone address.
 11. The method as defined in claim 10, wherein the first phone address is a virtual phone address associated with the first user.
 12. The method as defined in claim 10, wherein modifying the state of the first user's first phone address to the status different than Do-Not-Disturb further comprises modifying the state of the first user's first phone address to Available or Busy.
 13. The method as defined in claim 10, wherein the first notification type is an SMS message.
 14. The method as defined in claim 10, wherein the first notification type is peer-to-peer texting service.
 15. The method as defined in claim 10, the method further comprising: providing via the first user interface a control enabling the first user to inhibit the first notification type transmission.
 16. The method as defined in claim 10, wherein the second user interface includes an option for the first caller to press a first key if the first caller wants to receive the first notification type.
 17. The method as defined in claim 10, the method further comprising: receiving, at the enhanced services system, call signaling information associated with a third call from a second caller placed using a second telephonic device, the second call intended for the first user; determining that the Do-Not-Disturb state of the first phone address is deactivated; generating an outbound call to the mobile telephonic device associated with the first user; and bridging the third call with the outbound call.
 18. The method as defined in claim 17, wherein the bridging enables a two-way talk path between the second caller and the first user.
 19. The method as defined in claim 10, the method further comprising: downloading the client software application to a mobile device of the first user.
 20. A system comprising: at least one processing device; non-transitory media having instructions stored thereon that when executed by the at least one processing device, cause the at least one processing device to perform operations, comprising: providing, via a first user interface presented via a client software application running on a mobile device of a first user, an instruction to configure a Do-Not-Disturb state with respect to a first phone address associated with the first user; receiving, via the client software application, a request from the first user to activate the Do-Not-Disturb state with respect to the first phone address associated with the first user; modifying a state of the first user's first phone address to Do-Not-Disturb; receiving call signaling information associated with a first call from a first caller placed by the first caller using a first telephonic device, the first call intended for the first user; determining whether the first telephonic device of the first caller is capable of receiving a text messages wherein the determination is based at least in part on a first caller's phone address included in the call signaling information associated with the first call; at least partly in response to determining that the first telephonic device of the first caller is capable of receiving a text message, presenting, via a second user interface, to the first caller during the first call an option to receive a first notification type when the first phone address Do-Not-Disturb state changes; at least partly in response to receiving the first notification type request from the first caller, storing the first notification type request in non-transitory memory; receiving, at the client software application, a request to deactivate the Do-Not-Disturb state with respect to the first phone address; at least partly in response to receiving the Do-Not-Disturb deactivation request: modifying the state of the first user's first phone address to a status different than Do-Not-Disturb; and transmitting the first notification type to the first telephonic device associated with the first caller, wherein the first notification type includes the first user's first phone address and enables, at least in part, the first caller to initiate a second call to the first user's first phone address. 